package com.ccrc.base.dao;

import java.io.Serializable;

/**
 * <p>Title: 通用数据访问接口</p>
 * <p>Description: 本接口定义非泛型的通用的数据访问接口。
 * 通过传入数据对象的类型，可以对特定的数据对象进行操作，满足通用的数据访问需求。
 * 该接口不限制访问的数据类型</p>
 * @author WangChenggang
 * @version 1.0
 */
public interface GenericDao {
	/**
     * 保存数据对象，用于新建
     * @param obj
     */
	Serializable save(Object obj);

    /**
     * 删除数据对象
     * @param obj
     */
    void delete(Object obj);

    /**
     * 更新数据对象，用于修改
     * @param obj
     */
    void update(Object obj);
    
    /**
     * 从数据库重新读取对象
     * @param obj
     */
    void refresh(Object obj);
    
    /**
     * 保存或更新对象
     * @param obj
     */
    void saveOrUpdate(Object obj);
}
